package ar.uba.fi.algo3.algoTank.TesteosAlgoTank;

import ar.uba.fi.algo3.algoTank.Objetos.BloqueMetal;
import ar.uba.fi.algo3.algoTank.Objetos.Proyectil;
import ar.uba.fi.algo3.algoTank.Objetos.ProyectilAmetralladora;
import junit.framework.TestCase;

public class TestBloqueMetal extends TestCase {
	
	private BloqueMetal bloqueMetal;
	private Proyectil proyectil;
	
	
	protected void setUp() throws Exception {
		
		bloqueMetal = new BloqueMetal();
		proyectil   = new ProyectilAmetralladora();
		
	}
	
	public void testResistencia(){
		
		assertEquals(bloqueMetal.getResistencia(), 2);
	}
	
	public void testEstadoInicial(){
		
		assertTrue(bloqueMetal.estaVivo());
	}
	
	public void testDaniarse(){
		
		bloqueMetal.daniarse();
		assertEquals(bloqueMetal.getResistencia(), 1);
	}
	
	public void testChoque(){
		
		bloqueMetal.interactuarConProyectil(proyectil);	
		assertFalse(proyectil.estaVivo());
		
		assertEquals(bloqueMetal.getResistencia(), 1);
		
	}
	
	public void testMorirse(){
	
		// Dos interacciones con Proyectil para morirse.
		bloqueMetal.interactuarConProyectil(proyectil);	
		bloqueMetal.interactuarConProyectil(proyectil);	
		
		assertFalse(bloqueMetal.estaVivo());
	}
	


}
